oracle中如何创建dblink |
您所在的位置:网站首页 › thinkpad t14s值得入手吗 › oracle中如何创建dblink |
你是要 dblink 到另外一个 oracle? 还是 dblink 到一个 sql server ? 注: 如果创建全局dblink,必须使用systm或sys用户,在database前加public。 SQL CREATE DATABASE LINK mydblink 2 CONNECT TO test IDENTIFIED BY test123 3 USING '(DESCRIPTION = 4 (ADDRESS_LIST = 5 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.210)(PORT = 1521))) 6 (CONNECT_DATA = (SERVICE_NAME = orcl) 7 ) 8 )' Database link created. SQL select count(1) from user_tables@mydblink COUNT(1) ---------- 6 上面的例子,是在当前 Oracle 数据库上面,创建一个 名字叫 mydblink 的数据库链接。 使用 test作为用户名,test123 作为密码。 访问的远程数据库,ip地址是 192.168.1.210,端口号是默认的 1521 远程服务器的服务名是 orcl Oracle 连接 SQL Server 需要去下载 额外的 网关程序 注意: 本次测试 Oracle (10.2.0.1.0) 服务器 ip 地址: 192.168.1.210 SQL Server (2005 开发者版本) 服务器名(SQL2005) 下载下来的 10201_gateways_win32.zip 该 gateways 程序 可安装在 SQL Server 那台计算机上 本次网关程序,被安装在 D:\oracle\product\10.2.0\tg_1 目录下. 安装过程会提示输入 SQL Server 数据库的信息。 该信息会被生成在 D:\oracle\product\10.2.0\tg_1\tg4msql\admin 目录下的 inittg4msql.ora 文件中。 将其复制粘贴为文件名 initTest2005.ora 然后修改内容 # This is a sample agent init file that contains the HS parameters that are # needed for the Transparent Gateway for SQL Server # # HS init parameters # HS_FDS_CONNECT_INFO=SQL2005.test HS_FDS_TRACE_LEVEL=OFF HS_FDS_RECOVERY_ACCOUNT=RECOVER HS_FDS_RECOVERY_PWD=RECOVER 下一步,修改 D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN 目录下的 listener.ora 文件。 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\oracle\product\10.2.0\tg_1) (PROGRAM = extproc) ) # 追加开始 (SID_DESC = (SID_NAME = Test2005) (ORACLE_HOME = D:\oracle\product\10.2.0\tg_1) (PROGRAM = tg4msql) ) # 追加结束 ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = SQL2005)(PORT = 1521)) ) ) 下一步,运行 lsnrctl stop / lsnrctl start C:\lsnrctl stop 输出略... C:\lsnrctl start 部分输出略... 服务 "Test2005" 包含 1 个例程。 例程 "Test2005", 状态 UNKNOWN, 包含此服务的 1 个处理程序... 命令执行成功 下一步,修改 D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN 目录下的 tnsnames.ora 文件 EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
# 追加开始 TEST2005 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = SQL2005)(PORT = 1521)) ) (CONNECT_DATA = (SID = Test2005) ) (HS = OK) ) # 追加结束
tnsping 测试是否正常。 C:\tnsping test2005 TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 03-10月- 2011 14:03:03 Copyright (c) 1997, 2005, Oracle. All rights reserved. 已使用的参数文件: D:\oracle\product\10.2.0\tg_1\network\admin\sqlnet.ora 已使用 TNSNAMES 适配器来解析别名 Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = SQL2005)(PORT = 1521))) (CONNECT_DATA = (SID = Test2005)) (HS = OK)) OK (50 毫秒) 创建数据库链接 (DBLINK) CREATE DATABASE LINK mssql2005 CONNECT TO "test" IDENTIFIED BY "test123" USING '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = SQL2005)(PORT = 1521)) (CONNECT_DATA = (SID = Test2005) (HS = OK) ) )' SELECT * FROM test@mssql2005 创建全局 DBLink,用户需要有创建 dblink 的权限。 查询用户的dblink 的权限: select * from user_sys_privs where privilege like upper('%DATABASE LINK%') 给需要使用 sysdba 角色的用户赋权: grant create public database link to dbusername 使用已赋权的用户登录 PL/SQL,使用命令: create database link 数据库链接名 connect to 用户名 identified by 密码 using '本地配置的数据的实例名' 扩展资料: 查询数据: selectxxxFROM表名@数据库链接名 删除 DBLink: drop /* public */ database link dblink1 创建和删除同义词: create or replace view 视图名 as (select 字段 from 用户.表名@dblink1) drop view 视图名 欢迎分享,转载请注明来源:内存溢出 原文地址:https://outofmemory.cn/sjk/6770252.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |